_t_a_r_g_e_t The target to which the texture will be bound. Must be one of
GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD, GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD____SSSSGGGGIIIISSSS, or
ffffggggllllBBBBiiiinnnnddddTTTTeeeexxxxttttuuuurrrreeeeEEEEXXXXTTTT is part of the EEEEXXXXTTTT____tttteeeexxxxttttuuuurrrreeee____oooobbbbjjjjeeeecccctttt extension. This
extension makes it possible to use named 1-, 2-, and 3-dimensional
textures in addition to the usual OpenGL texture targets designated by
GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD, etc.
Texture names are unsigned integers. The value zero is reserved to
represent the default texture for each texture target. Texture names and
the corresponding texture contents are local to the shared display-list
space (see ffffggggllllXXXXCCCCrrrreeeeaaaatttteeeeCCCCoooonnnntttteeeexxxxtttt) of the current OpenGL rendering context;
two rendering contexts will share texture names only if they also share
display lists.
To create a named texture, simply bind a previously-unused texture name
to one of the texture targets listed above. This can be accomplished by
calling ffffggggllllBBBBiiiinnnnddddTTTTeeeexxxxttttuuuurrrreeeeEEEEXXXXTTTT with _t_a_r_g_e_t set to the appropriate texture
target, and _t_e_x_t_u_r_e set to the name of the new texture. When a texture
is bound to a target, the previous binding for that target is
automatically broken.
Note that ffffggggllllGGGGeeeennnnTTTTeeeexxxxttttuuuurrrreeeessssEEEEXXXXTTTT may be used to generate a set of fresh
texture names.
When a texture is first bound it assumes the dimensionality of its
target: A texture first bound to GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD becomes 1-dimensional, a
texture first bound to GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD becomes 2-dimensional, and so on.
The state of a 1-dimensional texture immediately after it is first bound
is equivalent to the state of the default GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD at GL
initialization, and similarly for 2- and 3-dimensional textures. That
is, if the application sets texture parameter values for one texture,
those parameter values are not automatically propagated to the next
texture that the application binds; each newly-created texture receives a
fresh copy of the default texture state. See ffffggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr for more
information about texture parameters and their default values.
While a texture is bound, GL operations on the target to which it is
bound affect the bound texture, and queries of the target to which it is
bound return state from the bound texture. If texture mapping of the
dimensionality of the target to which a texture is bound is active, the
bound texture is used. In effect, the texture targets become aliases for
the textures currently bound to them, and the texture name zero refers to
the default textures that were bound to them at initialization.
A texture binding created with ffffggggllllBBBBiiiinnnnddddTTTTeeeexxxxttttuuuurrrreeeeEEEEXXXXTTTT remains active until a
different texture is bound to the same target, or until the bound texture
is deleted with ffffggggllllDDDDeeeelllleeeetttteeeeTTTTeeeexxxxttttuuuurrrreeeessssEEEEXXXXTTTT.
Once created, a named texture may be re-bound to the appropriate target
as often as needed. It is usually much faster to bind an existing named
texture to one of the texture targets using ffffggggllllBBBBiiiinnnnddddTTTTeeeexxxxttttuuuurrrreeeeEEEEXXXXTTTT than it is
to reload the texture image using ffffggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee****. For additional control
over performance, consider using ffffggggllllPPPPrrrriiiioooorrrriiiittttiiiizzzzeeeeTTTTeeeexxxxttttuuuurrrreeeessssEEEEXXXXTTTT.
ffffggggllllBBBBiiiinnnnddddTTTTeeeexxxxttttuuuurrrreeeeEEEEXXXXTTTT is included in display lists.
NNNNOOOOTTTTEEEESSSS
See ffffggggllllIIIInnnnttttrrrroooo for more information about using extensions.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_a_r_g_e_t is not one of the allowable
values.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if _t_e_x_t_u_r_e has a dimensionality and it
doesn't match that of _t_a_r_g_e_t.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllBBBBiiiinnnnddddTTTTeeeexxxxttttuuuurrrreeeeEEEEXXXXTTTT is executed
between the execution of ffffggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of
ffffggggllllGGGGeeeetttt with parameter names GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____1111DDDD____BBBBIIIINNNNDDDDIIIINNNNGGGG____EEEEXXXXTTTT,
GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD____BBBBIIIINNNNDDDDIIIINNNNGGGG____EEEEXXXXTTTT, and GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____BBBBIIIINNNNDDDDIIIINNNNGGGG____EEEEXXXXTTTT.